<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
require_once 'evento.php';
require_once 'conexion.php';

class PersistenciaTipo_Auto {

    private static $instance = false;

    public static function getInstance() {
        if (!self::$instance instanceof self) {
            self::$instance = new self;
        }
        return self::$instance;
    }

    public function crearTipo($datos) {
        try {
            $db = Conexion::getInstance();
            $sentencia = "INSERT INTO tipo_auto (idtipo_auto,nombre) VALUES(" . $datos[0] . ",'" . $datos[1] . "')";
            $db->consulta($sentencia);
            return $db->obtenerUltimoID();
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function traerTipo($datos) {
        try {
            $db = Conexion::getInstance();
            if (is_array($datos)) {
                $sentencia = "select * from tipo_auto where idtipo_auto=".$datos[0];
            } else {
                $sentencia = "select * from tipo_auto ";
            }
            return $this->armarTipo($db->consulta($sentencia));
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function armarTipo($datos) {
        try {
            require_once 'tipo_auto.php';
            $tipos = array();
            if (!is_null($datos)) {
                foreach ($datos as $tipo) {
                    $tip = new Tipo_Auto($tipo[0], $tipo[1]);
                    array_push($tipos, $tip);
                }
            }

            return $tipos;
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function actualizarTipo($datos) {
        try {
            $db = Conexion::getInstance();
            $sentencia = "UPDATE tipo_auto SET nombre='" . $datos[1] . "' WHERE idtipo_evento=" . $datos[0];
            $db->consulta($sentencia);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

    public function eliminarTipo($datos) {
        try {
            $db = Conexion::getInstance();
            $sentencia = "delete from tipo_auto where idtipo_auto=" . $datos;
            $db->consulta($sentencia);
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }

}

?>
